package com.hhh.corejava.code07_面向对象;

import java.util.Scanner;

/**
 * @autor 黄焕晖
 * @date 2025年11月01日17:17
 * // 根据上述的账户类Account，添加几个成员方法
 * // 1.查询余额,打印出户主姓名与账户余额
 * // 2.存钱,打印存储了多少钱,存储后账户余额
 * // 3.转账,打印你给谁转账,转了多少钱,转账后账户余额是多少
 * // 4.取钱,打印取出了多少钱,剩余的账户余额是多少
 **/
public class Test04_练习 {
    public static void main(String[] args) {
        Account1 account1 = new Account1();

        account1.name="张三";
        account1.money=10000;

        account1.showMenu();

    }

}

class Account1{
    String name;
    double money;

    public void select(){
        System.out.println("用户："+name+"\n账户中的余额："+money+"元。");
    }
    public void saveMoney(double money){
        System.out.println("存入："+money+"元。");
        this.money+=money;
        System.out.println("存储后余额为："+this.money+"元。");
    }
    public void transfer(String name,double money){
        if (this.money<money){
            System.out.println("错误：您的余额不足，无法转账。");
        }else {
            System.out.println("向用户"+name+"转账"+money+"元。");
            this.money-=money;
            System.out.println("转账后余额为："+this.money+"元。");
        }

    }
    public void takeMoney(double money){;
        if (this.money<money){
            System.out.println("错误：您的余额不足，无法取钱。");
        }else {
            System.out.println("取了" + money + "元。");
            this.money -= money;
            System.out.println("取钱后余额为：" + this.money + "元。");
        }
    }

    public void showMenu(){
        System.out.println("-------------------欢迎使用账户管理系统-------------------");

        while(true){
            System.out.println("请选择功能：1、查询账户，2、存款，3、转账，4、取钱，5、退出系统");
            Scanner sc = new Scanner(System.in);
            int choice = sc.nextInt();
            double money;
            String name;


            switch(choice){
                case 1:
                    select();
                    break;
                case 2:
                    System.out.print("请输入存储的金额：");
                    money = sc.nextDouble();
                    saveMoney(money);
                    break;
                case 3:
                    System.out.print("请输入向谁转账：");
                    name = sc.next();
                    System.out.print("请输入转账金额：");
                    money=sc.nextDouble();
                    transfer(name,money);
                    break;
                case 4:
                    System.out.print("请输入取钱的金额：");
                    money = sc.nextDouble();
                    takeMoney(money);
                    break;
                case 5:
                    System.out.println("正在退出系统···");
                    System.out.println("欢迎下次使用。");

                    return;
                default:
                    System.out.println("输入错误数字，请重新输入数字");
                    break;
            }
        }
    }

}